package com.cz.video.common.core.service;

import com.cz.video.common.core.domain.PageQuery;
import com.cz.video.common.core.domain.bo.SysSensitiveWordBo;
import com.cz.video.common.core.domain.vo.SysSensitiveWordVo;
import com.cz.video.common.core.page.TableDataInfo;

import java.util.List;

/**
 * <p>
 * 敏感词 服务类
 * </p>
 * @since 2023-07-06
 */
public interface SysSensitiveWordService {

  /**
   * 根据条件分页查询敏感词
   *
   * @param sensitiveWordBo 查询条件
   * @param pageQuery 分页条件
   *
   * @return 分页的敏感词数据
   */
  TableDataInfo<SysSensitiveWordVo> page(SysSensitiveWordBo sensitiveWordBo, PageQuery pageQuery);


  /**
   * 根据条件获取所有敏感词信息
   *
   * @return 敏感词list
   */
  List<SysSensitiveWordVo> list(SysSensitiveWordBo sensitiveWordBo);
  /**
   * 根据 id 查询敏感词信息
   *
   * @param id id
   * @return 敏感词
   */
  SysSensitiveWordVo get(Long id);

  /**
   * 新增敏感词信息
   *
   * @param sensitiveWordBo 敏感词信息
   *
   * @return 修改记录数量
   */
  int add(SysSensitiveWordBo sensitiveWordBo);

  /**
   * 修改保存敏感词信息
   *
   * @param sensitiveWordBo 敏感词信息
   * @return 修改数据数量
   */
  int update(SysSensitiveWordBo sensitiveWordBo);

  /**
   * 修改敏感词状态
   *
   * @param id 敏感词ID
   * @param status 角色状态
   *
   * @return 修改敏感词数量
   */
  int updateStatus(Long id, String status);

  /**
   * 通过敏感词ID删除敏感词
   *
   * @param ids 敏感词IDs
   *
   * @return 修改敏感词数据数量
   */
  int deleteByIds(Long[] ids);

    /**
     * 刷新敏感词配置
     */
    void refresh();
}
